package com.hs.carrental.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author lyy
 * @since 2021-03-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Car implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 车辆登记Id
     */
    @TableId(value = "carId", type = IdType.AUTO)
    private Integer carId;

    /**
     * 车牌号码
     */
    @TableField("carNumber")
    private String carNumber;

    /**
     * 车辆类型
     */
    @TableField("carType")
    private Integer carType;

    /**
     * 车辆图片List
     */
    @TableField("carImageList")
    private String carImageList;

    /**
     * 车辆品牌
     */
    @TableField("carName")
    private String carName;

    /**
     * 车辆型号
     */
    @TableField("carModel")
    private String carModel;

    /**
     * 车辆颜色
     */
    @TableField("carColor")
    private String carColor;

    /**
     * 车辆描述
     */
    @TableField("carDesc")
    private String carDesc;

    /**
     * 发动机号
     */
    private String engine;

    /**
     * 车架编号
     */
    private String frame;

    /**
     * 购买日期
     */
    @TableField("buyDate")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime buyDate;

    /**
     * 所属门店Id
     */
    @TableField("storeId")
    private Integer storeId;

    /**
     * 状态('0': '未租赁', '1': '已租赁')
     */
    private Integer state;

    /**
     * 超时费用
     */
    @TableField("overtimeCharge")
    private BigDecimal overtimeCharge;

    /**
     * 押金
     */
    private BigDecimal deposit;

    /**
     * 车辆创建时间
     */
    @TableField("carTime")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime carTime;

    /**
     * 租金 按小时计算 单位：元
     */
    @TableField("rent")
    private BigDecimal rent;

    /**
     * 燃油编号
     */
    private String fuel;
}
